using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

namespace SideShow.Driver.ComInterop
{
    [ComImport, InterfaceType((short)1), Guid("C5411408-0F1E-4ED6-A412-36DD15EEE707"), TypeLibType((short)0x200)]
    public interface IQueueCallbackDeviceIoControl
    {
        [PreserveSig, MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
        void OnDeviceIoControl([In, MarshalAs(UnmanagedType.Interface)] IWDFIoQueue pWdfQueue, [In, MarshalAs(UnmanagedType.Interface)] IWDFIoRequest pWdfRequest, [In] uint ControlCode, [In, ComAliasName("PocketPCUMDFDriverLib.ULONG_PTR")] uint InputBufferSizeInBytes, [In, ComAliasName("PocketPCUMDFDriverLib.ULONG_PTR")] uint OutputBufferSizeInBytes);
    }

 

 

}
